package com.springmvc.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

import com.springmvc.entity.Items;
import com.springmvc.service.ItemsService;

/**
 * @author Administrator
 *
 */
//@Controller
//为了窄化url，对url进行分类管理，在此处相当于根路径， 最终的访问路径： 根路径 + 子路径
//此时查询商品列表的访问路径： /items/queryItems.action
//@RequestMapping("/items")
public class ItemsController4 {
	@Autowired
	private ItemsService itemsService;
	
	//查询商品列表
	//@RequestMapping实现了对queryItems方法和url进行映射， 一个方法对应一个url
	@RequestMapping("/queryItems")
	public ModelAndView queryItems() throws Exception {
		List<Items> items = itemsService.queryItemsListByCondidition(null);
		
		//返回ModelAndView对象
		ModelAndView modelAndView = new ModelAndView();
		
		//设置数据,相当于在servlet中使用 request.setAttribute("itemsList", items)
		modelAndView.addObject("itemsList", items);
		
		//指定页面视图（jsp页面）,告诉view对象逻辑视图文件的位置
		modelAndView.setViewName("items/itemsList");
		
		return modelAndView;
	}
	
	//修改商品，进入商品修改页面
	@RequestMapping(value = "/form", method = {RequestMethod.POST,RequestMethod.GET})
	public ModelAndView form() throws Exception {
		//在进入表单页前，根据id查询商品对象信息
		Items items = itemsService.queryItemsById(1);
		
		//返回ModelAndView对象
		ModelAndView modelAndView = new ModelAndView();
		
		//设置数据
		modelAndView.addObject("item", items);
		
		//指定页面视图（jsp页面）,告诉view对象逻辑视图文件的位置
		modelAndView.setViewName("items/editItems");
		
		return modelAndView;
	}
	
	//保存
	@RequestMapping("/save")
	public ModelAndView save() throws Exception {
		//调用service，完成对象的保存、更新操作
		
		//跳转到成功
		//返回ModelAndView对象
		ModelAndView modelAndView = new ModelAndView();
		
		//指定页面视图（jsp页面）,告诉view对象逻辑视图文件的位置
		modelAndView.setViewName("success");
		
		return modelAndView;
		
	}
	
	
}
